home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1995-09-19 | 36.9 KB | 671 lines | [TEXT/.Ob4] |
- Syntax10b.Scn.Fnt
- Syntax10.Scn.Fnt
- StampElems
- Alloc
- 19 Sep 95
- Syntax10i.Scn.Fnt
- Courier10.Scn.Fnt
- MODULE Sys; (*HM/mah/CS 94-06-08 /
- IMPORT Modules, SYSTEM;
- CONST
- align68K* = 1; (** proper alignment for structures to be passed to the MacOS *)
- fsAtMark* = 0; (** Positioning mode: at current position *)
- fsFromStart* = 1; (** Positioning mode: offset relative to beginning of medium *)
- fsFromMark* = 3; (** Positioning mode: offset relative to current position *)
- smSystemScript* = -1; (** System script code for files*)
- ApplSig* = 2E4F6234H; (** '.Ob4' *)
- FileSig* = 54455854H; (** 'TEXT' *)
- fsRdPerm* = 1; (** Access permissoin: request to read *)
- fsRdWrPerm* = 3; (** Access permission: request to read and write *)
- kPowerPCISA* = 1;
- uppVBLProcInfo* = 19802H; (** register based, 1 input parameter in A0*)
- exceptionProcInfo* = 2H; (** register based, no parameters*)
- (*--- memory manager ---*)
- ProcPtr* = POINTER TO RECORD proc*: PROCEDURE END;
- Str255* = ARRAY 256 OF CHAR;
- Str63* = ARRAY 64 OF CHAR;
- (*--- QuickDraw ---*)
- Point*= RECORD [align68K] v*, h*: INTEGER END;
- Point0* = LONGINT; (*for toolbox calling conventions*)
- Rect*= RECORD [align68K] top*, left*, bottom*, right*: INTEGER END; (*8*)
- Cursor*= RECORD [align68K] data*, mask*: ARRAY 8 OF SET; hotSpot*: Point END;
- RgnHandle*= LONGINT;
- Pattern*= ARRAY 2 OF LONGINT;
- RGBColor*=RECORD [align68K] red*, green*, blue*: INTEGER END;
- BitMapPtr*= LONGINT; (* Should be POINTER TO BitMap; except for GC *)
- BitMapRealPtr*= POINTER TO BitMap;
- BitMap*= RECORD [align68K] (*14*)
- baseAddr*: LONGINT;
- rowBytes*: INTEGER;
- bounds*: Rect
- END;
- PixMapPtr* = LONGINT; (* should be POINTER TO PixMap except for GC *)
- PixMapRealPtr* = POINTER TO PixMap; (* see IM p. V-52 ff. *)
- PixMapHandle* = LONGINT; (* should be (see below) except for GC *)
- PixMapRealHandle* = POINTER TO RECORD [align68K] p*: PixMapPtr END;
- PixMap* = RECORD [align68K] (BitMap)
- pmVersion*: INTEGER;
- packType*: INTEGER;
- packSize*: LONGINT;
- hRes*: LONGINT;
- vRes*: LONGINT;
- pixelType*: INTEGER;
- pixelSize*: INTEGER;
- cmpCount*: INTEGER;
- cmpSize*: INTEGER;
- planeBytes*: LONGINT;
- pmTable*: LONGINT;
- pmReserved*: LONGINT
- END;
- PixPatPtr* = LONGINT; (* should be POINTER TO PixPat except for GC *)
- PixPatRealPtr* = POINTER TO PixPat; (* see IM p. V-55 ff. *)
- PixPatHandle* = LONGINT; (* should be (see below) except for GC *)
- PixPatRealHandle* = POINTER TO RECORD [align68K] p*: PixPatPtr END;
- PixPat = RECORD
- patType*: INTEGER;
- patMap*: PixMapHandle;
- patData*: LONGINT;
- patXData*: LONGINT;
- patXValid*: INTEGER;
- patXMap*: LONGINT;
- pat1Data*: Pattern
- END;
- GrafPtr*= LONGINT; (* Should be POINTER TO GrafPort; except for GC *)
- GrafRealPtr*= POINTER TO GrafPort;
- GrafPort*= RECORD [align68K]
- device*: INTEGER; portBits*: BitMap; portRect*: Rect;
- visRgn*, clipRgn*: RgnHandle; bkPat*, fillPat*: Pattern;
- pnLoc*, pnSize*: Point; pnMode*: INTEGER; pnPat*: Pattern; pnVis*: INTEGER;
- txFont*, txFace*, txMode*, txSize*: INTEGER; spExtra*: LONGINT;
- fgColor*, bkColor*: LONGINT; colrBit*: INTEGER;
- patStretch*: INTEGER; picSave*, rgnSave*, polySave*, grafProcs*: LONGINT
- END;
- CGrafPtr* = LONGINT; (* should be POINTER TO CGrafPort except for GC *)
- CGrafRealPtr* = POINTER TO CGrafPort; (* see IM p. V-50 ff. *)
- CGrafPort* = RECORD [align68K]
- device*: INTEGER;
- portPixMap*: PixMapHandle;
- portVersion*: INTEGER;
- grafVars*: LONGINT;
- chExtra*: INTEGER;
- pnLocHFrac*: INTEGER;
- portRect*: Rect;
- visRgn*: RgnHandle;
- clipRgn*: RgnHandle;
- bkPixPat*: PixPatHandle;
- rgbFgColor*: RGBColor;
- rgbBkColor*: RGBColor;
- pnLoc*: Point;
- pnSize*: Point;
- pnMode*: INTEGER;
- pnPixPat*: PixPatHandle;
- fillPixPat*: PixPatHandle;
- pnVis*: INTEGER;
- txFont*: INTEGER;
- txFace*: INTEGER;
- txMode*: INTEGER;
- txSize*: INTEGER;
- spExtra*: LONGINT;
- fgColor*: LONGINT;
- bkColor*: LONGINT;
- colrBit*: INTEGER;
- patStretch*: INTEGER;
- picSave*: LONGINT;
- rgnSave*: LONGINT;
- polySave*: LONGINT;
- grafProcs*: LONGINT
- END;
- TextStyle*=RECORD [align68K] tsFont*, tsFace*, tsSize*: INTEGER; red*, green*, blue*: INTEGER END;
- TERec*= RECORD [align68K]
- misc0: ARRAY 30 OF INTEGER;
- teLength*: INTEGER; teHandle*: LONGINT;
- misc1: ARRAY 4 OF INTEGER;
- txFont*, txFace*, txMode*, txSize*: INTEGER END;
- TEHandle*= LONGINT; (* Should be POINTER TO TEHandleRec; except for GC *)
- TERealHandle*= POINTER TO TEHandleRec;
- TEHandleRec*= RECORD [align68K] p*: POINTER TO TERec END;
- TEStyleRec*=RECORD [align68K]
- nRuns*: INTEGER; misc: ARRAY 9 OF INTEGER;
- runs*: ARRAY 8000 OF RECORD [align68K] startChar*, styleIndex*: INTEGER END
- END;
- TEStyleHandle*= LONGINT; (* Should be POINTER TO TEStyleHandleRec; except for GC *)
- TEStyleRealHandle*= POINTER TO TEStyleHandleRec;
- TEStyleHandleRec*= RECORD [align68K] p*: POINTER TO TEStyleRec END;
- FontInfo*= RECORD [align68K] ascent*, descent*, widMax*, leading*: INTEGER END;
- TPrPtr* = LONGINT;
- TPrRealPtr*=POINTER TO RECORD [align68K] x0*: ARRAY 8 OF CHAR; top*, left*, bottom*, right*: INTEGER;
- x1*: ARRAY 52 OF CHAR;
- bjdl*: SHORTINT END; (*more fields follow, size=120 bytes*)
- TPrHnd*=LONGINT;
- TPrRealHnd*=POINTER TO RECORD [align68K] p*: TPrPtr END;
- TPrStatus*=ARRAY 13 OF INTEGER;
- (*--- event manager ---*)
- KeyMap* = ARRAY 4 OF SET;
- EventRecord*=RECORD [align68K]
- what*: INTEGER; message*, when*: LONGINT; where*: Point; modifiers*: INTEGER
- END;
- (*--- file manager ---*)
- FSSpecPtr* = POINTER TO FSSpec;
- FSSpec* = RECORD [align68K]
- vRefNum*: INTEGER; (* volume reference number *)
- parID*: LONGINT; (* directory ID of parent directory *)
- name*: Str63 (* filename or directory name *)
- END;
- FInfo* = RECORD [align68K]
- fdType*, fdCreator*: LONGINT;
- fdFlags*, fdLocV*, fdLocH*, fdFldr*: INTEGER
- END;
- DInfo* = RECORD [align68K]
- frRect*: Rect; (* folder's rectangle *)
- frFlags*: INTEGER; (* flags *)
- frLocation*: Point; (* folder's location *)
- frView*: INTEGER (* folder's view *)
- END;
- DXInfo* = RECORD [align68K]
- frScroll*: Point; (* scroll position *)
- frOpenChain*: LONGINT; (* directory ID chain of open folders *)
- frUnused: INTEGER;
- frComment*: INTEGER; (* comment ID *)
- frPutAway*: LONGINT; (* directory ID *)
- END;
- FXInfo* = RECORD [align68K]
- fdIconID*: INTEGER; (* icon ID *)
- fdUnused: ARRAY 4 OF INTEGER;
- fdComment*: INTEGER; (* comment ID *)
- fdPutAway*: LONGINT; (* home directory ID *)
- END;
- ParmBlkPtr* = POINTER TO ParmBlkRec;
- ParmBlkRec* = RECORD [align68K] (*24*)
- qLink*: LONGINT; (* next queue entry *)
- qType*: INTEGER; (* queue type *)
- ioTrap*: INTEGER; (* routine trap *)
- ioCmdAddr*: LONGINT; (* routine address *)
- ioCompletion*: LONGINT; (* pointer to completion routine *)
- ioResult*: INTEGER; (* result code *)
- ioNamePtr*: LONGINT; (* pointer to pathname *)
- ioVRefNum*: INTEGER (* volume specification *)
- END;
- ParmBlkFilePtr* = POINTER TO ParmBlkFile;
- ParmBlkFile* = RECORD (ParmBlkRec)
- ioFRefNum*: INTEGER; (* file reference number *)
- ioFVersNum*: SHORTINT; (* (unused) file version number (should always be 0) *)
- ioFDirIndex*: INTEGER; (* directory index, used with PBHGetFInfo *)
- ioFlAttrib*, ioFlVersNum*: SHORTINT; (* file attributes (unused) file version number (must always be 0) *)
- ioFlFndrInfo*: FInfo; (* information used by the Finder *)
- ioFlNum*: LONGINT; (* file ID *)
- ioFlStBlk*: INTEGER; (* first allocation block of data fork, 0 if the data fork is empty *)
- ioFlLgLen*, ioFIPyLen*: LONGINT; (* logical and physical EOF of data fork *)
- ioFlRStBlk*: INTEGER; (* first allocation block of resource fork, 0 if the data fork is empty *)
- ioFlRLgLen*, ioFlRPyLen*: LONGINT; (* logical and physical EOF of resource fork *)
- ioFlCrDat*, ioFlMdDat*: LONGINT (* data and time of creation and last modification in seconds since midnight January 1, 1904 *)
- END;
- CInfoPBPtr* = POINTER TO CInfoPBRec;
- CInfoPBRec* = RECORD (ParmBlkRec)
- ioFRefNum*: INTEGER; (* file reference number *)
- ioFVersNum*: SHORTINT; (* version number *)
- filler1: SHORTINT;
- ioFDirIndex*: INTEGER; (* directory index *)
- ioFlAttrib*: SHORTINT; (* file or directory attributes *)
- ioACUser*: SHORTINT; (* directory access rights *)
- END;
- CInfoPBFilePtr* = POINTER TO CInfoPBFileRec;
- CInfoPBFileRec* = RECORD (CInfoPBRec)
- ioFlFndrInfo*: FInfo; (* information used by the Finder *)
- ioDirID*: LONGINT; (* directory ID or file ID *)
- ioFlStBlk*: INTEGER; (* first allocation block of data fork *)
- ioFlLgLen*, ioFlPyLen*: LONGINT; (* logical and physical EOF of data fork *)
- ioFlRStBlk*: INTEGER; (* first allocation block of resource fork, 0 if the data fork is empty *)
- ioFlRLgLen*, ioFlRPyLen*: LONGINT; (* logical and physical EOF of resource fork *)
- ioFlCrDat*, ioFlMdDat*: LONGINT; (* data and time of creation and last modification in seconds since midnight January 1, 1904 *)
- ioFlBkDat*: LONGINT; (* data and time of last backup *)
- ioFlXFndrInfo*: FXInfo; (* additional Finder information *)
- ioFlParID*: LONGINT; (* file parent directory ID *)
- ioFlClpSiz*: LONGINT (* file's clump size *)
- END;
- (*--- window manager ---*)
- WindowPtr*= LONGINT; (* Should be POINTER TO WindowPort except for GC *)
- WindowRealPtr*= POINTER TO WindowPort;
- WindowPort*= RECORD (GrafPort)
- windowKind*: INTEGER; visible*, hilited*, goAwayFlag*, spareFlag*: BOOLEAN;
- winMisc*: ARRAY 19 OF INTEGER; refCon*: LONGINT
- END;
- (*--- mixed mode manager ---*)
- UniversalProcPtr* = POINTER TO RoutineDescriptor;
- RoutineDescriptor* = RECORD [align68K]
- goMixedModeTrap*: INTEGER;
- version*, flags*: SHORTINT;
- reserved1*: LONGINT;
- reserved2*, selectorInfo*: SHORTINT;
- count*: INTEGER;
- procInfo*: LONGINT;
- reserved3*, ISA*: SHORTINT;
- routineFlags*: INTEGER;
- proc*: ProcPtr;
- reserved4*, selector*: LONGINT
- END;
- (*--- exception manager ---*)
- ExceptionInfo* = POINTER TO ExceptionInfoDesc;
- ExceptionInfoDesc* = RECORD [align68K]
- kind*: LONGINT;
- spec*: POINTER TO RECORD [align68K]
- dummy0, CTR*, dummy1, LR*, dummy2, PC*, CR*, XER*, MSR*: LONGINT
- END;
- reg*: POINTER TO RECORD [align68K]
- R*: ARRAY 64 OF LONGINT (** reg i = R[2*i+1]*)
- END;
- fp*: POINTER TO RECORD [align68K]
- R*: ARRAY 64 OF LONGINT; (** reg i = R[2*i]*)
- FPSCR*: LONGINT
- END;
- mem*: POINTER TO RECORD [align68K]
- area*, adr*, error*, refKind*: LONGINT
- END
- END;
- ExceptionHandler* = PROCEDURE (context: ExceptionInfo): LONGINT;
- (*--- vertical retrace manager ---*)
- VBLTask* = POINTER TO VBLTaskDesc;
- VBLTaskDesc* = RECORD [align68K]
- qLink*: LONGINT; (* should be VBLTask *)
- qType*: INTEGER;
- vblAddr*: LONGINT; (* should be UniversalProcPtr *)
- vblCount*, vblPhase*: INTEGER
- END;
- (*--- OS utilities ---*)
- DateTimeRec* = RECORD [align68K]
- year*, month*, day*, hour*, minute*, second*, dayOfWeek*: INTEGER
- END;
- (*--- menu manager ---*)
- MBarHnd*= LONGINT;
- MenuHandle*= LONGINT;
- done*, n*: LONGINT;
- interfaceLib: LONGINT;
- (*--- print manager ---*)
- PrGeneral*: PROCEDURE (pData: LONGINT);
- PrError*: PROCEDURE () : INTEGER;
- PrOpen*: PROCEDURE;
- PrValidate*: PROCEDURE (hPrint: TPrHnd) : BOOLEAN;
- PrintDefault*: PROCEDURE (hPrint: TPrHnd);
- PrStlDialog*: PROCEDURE (hPrint: TPrHnd) : BOOLEAN;
- PrJobDialog*: PROCEDURE (hPrint: TPrHnd) : BOOLEAN;
- PrOpenDoc*: PROCEDURE (hPrint: TPrHnd; pPrPort, pIOBuf: LONGINT) : GrafPtr;
- PrCloseDoc*: PROCEDURE (pPrPort: GrafPtr);
- PrClose*: PROCEDURE;
- PrOpenPage*: PROCEDURE (pPrPort: GrafPtr; pPageFrame: LONGINT);
- PrClosePage*: PROCEDURE (pPrPort: GrafPtr);
- PrPicFile*: PROCEDURE (hPrint: TPrHnd; pPrPort, pIOBuf, pDevBuf: LONGINT; VAR prStatus: TPrStatus);
- (*--- event manager ---*)
- GetKeys*: PROCEDURE (VAR keys: KeyMap);
- WaitNextEvent*: PROCEDURE (mask: INTEGER; event: EventRecord; sleep, mouseRgn: LONGINT) : BOOLEAN;
- GetNextEvent*: PROCEDURE (mask: INTEGER; event: EventRecord) : BOOLEAN;
- SystemClick*: PROCEDURE (theEvent: EventRecord; theWindow: WindowPtr);
- Button*: PROCEDURE () : BOOLEAN;
- GetMouse*: PROCEDURE (mouseLoc: Point);
- FlushEvents*: PROCEDURE (whichMask, stopMask: INTEGER);
- TickCount*: PROCEDURE () : LONGINT;
- (*--- exception manager ---*)
- InstallExcHandler*: PROCEDURE (new: ProcPtr): ProcPtr;
- (*--- file manager ---*)
- PBHGetFInfo*: PROCEDURE (parm: ParmBlkPtr);
- FSpOpenDF*: PROCEDURE (spec: FSSpec; permission: SHORTINT; VAR refNum: INTEGER): INTEGER;
- FSpOpenRF*: PROCEDURE (spec: FSSpec; permission: SHORTINT; VAR refNum: INTEGER): INTEGER;
- FSpCreate*: PROCEDURE (spec: FSSpec; creator: LONGINT; fileType: LONGINT; scriptTag: INTEGER): INTEGER;
- FSpDirCreate*: PROCEDURE (spec: FSSpec; scriptTag: INTEGER; VAR createdDirID: LONGINT): INTEGER;
- FSpDelete*: PROCEDURE (spec: FSSpec): INTEGER;
- FSpGetFInfo*: PROCEDURE (spec: FSSpec; fndrInfo: FInfo): INTEGER;
- FSpSetFInfo*: PROCEDURE (spec: FSSpec; fndrInfo: FInfo): INTEGER;
- FSpRename*: PROCEDURE (spec: FSSpec; newName: Str255): INTEGER;
- FSpCatMove*: PROCEDURE (source: FSSpec; dest: FSSpec): INTEGER;
- FSMakeFSSpec*: PROCEDURE (vRefNum: INTEGER; dirID: LONGINT; fileName: Str255; spec: FSSpec): INTEGER;
- FSRead*: PROCEDURE (refNum: INTEGER; VAR count: LONGINT; buffPtr: LONGINT): INTEGER;
- FSWrite*: PROCEDURE (refNum: INTEGER; VAR count: LONGINT; buffPtr: LONGINT): INTEGER;
- FSClose*: PROCEDURE (refNum: INTEGER): INTEGER;
- GetEOF*: PROCEDURE (refNum: INTEGER; VAR logEOF: LONGINT): INTEGER;
- SetEOF*: PROCEDURE (refNum: INTEGER; logEOF: LONGINT): INTEGER;
- GetFPos*: PROCEDURE (refNum: INTEGER; VAR filePos: LONGINT): INTEGER;
- SetFPos*: PROCEDURE (refNum: INTEGER; posMode: INTEGER; posOff: LONGINT): INTEGER;
- Allocate*: PROCEDURE (refNum: INTEGER; VAR count: LONGINT): INTEGER;
- HGetVol*: PROCEDURE (volName: LONGINT; VAR vRefNum: INTEGER; VAR dirID: LONGINT): INTEGER;
- HSetVol*: PROCEDURE (volName: LONGINT; vRefNum: INTEGER; dirID: LONGINT): INTEGER;
- FlushVol*: PROCEDURE (volName: LONGINT; vRefNum: INTEGER): INTEGER;
- UnmountVol*: PROCEDURE (volName: LONGINT; vRefNum: INTEGER): INTEGER;
- Eject*: PROCEDURE (volName: LONGINT; vRefNum: INTEGER): INTEGER;
- PBGetCatInfo*: PROCEDURE (parm: CInfoPBPtr): INTEGER;
- (*--- memory manager ---*)
- DisposePtr*: PROCEDURE (p: LONGINT);
- FreeMem*: PROCEDURE (): LONGINT;
- GetApplLimit*: PROCEDURE (): LONGINT;
- HLock*: PROCEDURE (handle: LONGINT);
- HUnlock*: PROCEDURE (handle: LONGINT);
- MaxApplZone*: PROCEDURE;
- MaxMem*: PROCEDURE(VAR grow: LONGINT): LONGINT;
- MemError*: PROCEDURE (): INTEGER;
- NewPtr*: PROCEDURE (size: LONGINT): LONGINT;
- NewPtrClear*: PROCEDURE (size: LONGINT): LONGINT;
- SetApplLimit*: PROCEDURE (adr: LONGINT);
- SetPtrSize*: PROCEDURE (p, newSize: LONGINT);
- StackSpace*: PROCEDURE (): LONGINT;
- TopMem*: PROCEDURE (): LONGINT;
- NewHandle*: PROCEDURE (byteCount: LONGINT) : TPrHnd;
- (*--- menu manager ---*)
- AddResMenu*: PROCEDURE (theMenu: MenuHandle; theType: LONGINT);
- ClearMenuBar*: PROCEDURE ();
- DrawMenuBar*: PROCEDURE ();
- GetItem*: PROCEDURE (theMenu: MenuHandle; item: INTEGER; VAR itemString: Str255);
- GetMenu*: PROCEDURE (resourceID: INTEGER) : MenuHandle;
- GetMBarHeight*: PROCEDURE(): INTEGER;
- GetMHandle*: PROCEDURE (menuID: INTEGER): MenuHandle;
- GetNewMBar*: PROCEDURE (menuBarID: INTEGER) : MBarHnd;
- HiliteMenu*: PROCEDURE (menuID: INTEGER);
- InitMenus*: PROCEDURE ();
- MenuSelect*: PROCEDURE (startPt: Point0) : LONGINT;
- MenuKey*: PROCEDURE (ch : INTEGER) : LONGINT;
- SetMenuBar*: PROCEDURE (menuList: MBarHnd);
- (*--- mixed mode manager ---*)
- DisposeRoutineDesc*: PROCEDURE (upp: UniversalProcPtr);
- NewRoutineDesc*: PROCEDURE (procAdr, procInfo: LONGINT; isa: SHORTINT): UniversalProcPtr;
- (*--- OS utilities ---*)
- GetNamedResource*: PROCEDURE (theType: LONGINT; name: Str255) : LONGINT;
- SecondsToDate*: PROCEDURE (secs: LONGINT; td: DateTimeRec);
- GetDateTime*: PROCEDURE (VAR secs: LONGINT);
- SetDateTime*: PROCEDURE (secs: LONGINT);
- DateToSeconds*: PROCEDURE (td: DateTimeRec; VAR secs: LONGINT);
- SysBeep*: PROCEDURE (duration: INTEGER);
- OpenResFile*: PROCEDURE (fileName: Str255) : INTEGER;
- ResError*: PROCEDURE () : INTEGER;
- ExitToShell*: PROCEDURE;
- (*--- QuickDraw ---*)
- CopyBits*: PROCEDURE (srcBits, dstBits: BitMap; srcRect, dstRect: Rect; mode: INTEGER; maskRgn: LONGINT);
- CopyBits2*: PROCEDURE (srcBits, dstBits: PixMap; srcRect, dstRect: Rect; mode: INTEGER; maskRgn: LONGINT);
- DrawChar*: PROCEDURE (ord : INTEGER);
- DrawText*: PROCEDURE (textbuf: LONGINT; firstByte, byteCount: INTEGER);
- ForeColor*: PROCEDURE (color: LONGINT);
- FrameOval*: PROCEDURE (r: Rect);
- HideCursor*: PROCEDURE ();
- Lin*: PROCEDURE (h, v: INTEGER);
- LineTo*: PROCEDURE (h, v: INTEGER);
- MoveTo*: PROCEDURE (h, v: INTEGER);
- PaintRect*: PROCEDURE (r: Rect);
- PenMode*: PROCEDURE (mode: INTEGER);
- PenPat*: PROCEDURE (pat : Pattern);
- PmForeColor*: PROCEDURE (dstEntry: INTEGER);
- SetClip*: PROCEDURE (clip: RgnHandle);
- SetCurs*: PROCEDURE (cursor: Cursor);
- SetPort*: PROCEDURE (port: GrafPort);
- ShowCursor*: PROCEDURE ();
- TextFont*: PROCEDURE (font: INTEGER);
- TextFace*: PROCEDURE (face: INTEGER);
- TextMode*: PROCEDURE (fmode : INTEGER);
- TextSize*: PROCEDURE (size: INTEGER);
- SetRectRgn*: PROCEDURE (rgn: RgnHandle; left, top, right, bottom: INTEGER);
- OpenPort*: PROCEDURE (port: GrafPort);
- RectRgn*: PROCEDURE (rgn: RgnHandle; r: Rect);
- AnimateEntry*: PROCEDURE (dstWindow: WindowPtr; dstEntry: INTEGER; scrRGB: RGBColor);
- CharWidth*: PROCEDURE (ch: INTEGER) : INTEGER;
- GetFontInf*: PROCEDURE (info: FontInfo);
- NewRgn*: PROCEDURE () : RgnHandle;
- InitGraf*: PROCEDURE (VAR thePort: GrafPtr);
- InitCursor*: PROCEDURE ();
- CloseCPort*: PROCEDURE (port:CGrafPort);
- OpenCPort*: PROCEDURE (port:CGrafPort);
- GetPalette*: PROCEDURE (win: WindowPtr) : LONGINT;
- SetPalette*: PROCEDURE (win: WindowPtr; pal : LONGINT; update : BOOLEAN);
- ActivatePalette*: PROCEDURE (win: WindowPtr);
- GetNewPalette*: PROCEDURE (id : INTEGER):LONGINT;
- SetEntryColor*: PROCEDURE (pal : LONGINT; idx : INTEGER; rgb : RGBColor);
- (*--- text mamager ---*)
- TEStylNew*: PROCEDURE (destRect, viewRect: Rect) : TEHandle;
- TEStylPaste*: PROCEDURE (hTE: TEHandle);
- TEGetStylHandle*: PROCEDURE (hTE: TEHandle) : TEStyleHandle;
- TEGetStyle*: PROCEDURE (off: INTEGER; styl: TextStyle; VAR lh, fa: INTEGER; hTE: TEHandle);
- TESetSelect*: PROCEDURE (selStart, selEnd: LONGINT; hTE: TEHandle);
- TEInsert*: PROCEDURE (textAdr: LONGINT; length: LONGINT; hTE: TEHandle);
- TEDelete*: PROCEDURE (hTE: TEHandle);
- TESetStyle*: PROCEDURE (mode: INTEGER; newStyle: TextStyle; redraw: BOOLEAN; hTE: TEHandle);
- TECut*: PROCEDURE (hTE: TEHandle);
- GetFontNam*: PROCEDURE (fontNum: INTEGER; VAR theName: Str255);
- GetFNum*: PROCEDURE (fontName: Str255; VAR theNum: INTEGER);
- InitFonts*: PROCEDURE ();
- TEInit*: PROCEDURE ();
- SetFScaleDisable*: PROCEDURE (fontScaleDisable: BOOLEAN);
- (*--- window manager ---*)
- BeginUpdate*: PROCEDURE (theWindow: GrafPort);
- BeginUpdate1*: PROCEDURE (theWindowMsg: LONGINT);
- EndUpdate*: PROCEDURE (theWindow: GrafPort);
- EndUpdate1*: PROCEDURE (theWindowMsg: LONGINT);
- SelectWindow*: PROCEDURE (theWindow: GrafPort);
- SelectWindow1*: PROCEDURE (theWindowPtr: WindowPtr);
- ShowWindow*: PROCEDURE (theWindow: GrafPort);
- HideWindow*: PROCEDURE (theWindow: GrafPort);
- Alert*: PROCEDURE (alertID: INTEGER; filterProc: LONGINT) : INTEGER;
- OpenDeskAcc*: PROCEDURE (theAcc: Str255) : INTEGER;
- FrontWindow*: PROCEDURE () : WindowPtr;
- FindWindow*: PROCEDURE (thePoint: Point0; VAR theWindow: WindowPtr) : INTEGER;
- CloseWindow*: PROCEDURE (thewindow: WindowPtr);
- DragWindow*: PROCEDURE (theWindow: WindowPtr; startPt: Point0; boundsRect: Rect);
- NewCWindow*: PROCEDURE (stor: WindowPort; bnds: Rect; tit: Str255; vis: BOOLEAN; def: INTEGER; bh: LONGINT;
- gaw: BOOLEAN; rc: LONGINT) : WindowPtr;
- InitWindows*: PROCEDURE ();
- InitDialogs*: PROCEDURE (restartProc: LONGINT);
- SetWTitle*: PROCEDURE (theWindow: GrafPtr; title: Str255);
- (*--- vertical retrace manager ---*)
- VInstall*: PROCEDURE (task: VBLTask): INTEGER;
- PROCEDURE AllocBlock* (VAR adr: LONGINT; size: LONGINT);
- BEGIN
- IF size < 0 THEN
- adr := NewPtrClear(-size)
- ELSE
- adr := NewPtr(size)
- END
- END AllocBlock;
- (* PROCEDURE AdjustBlock*(adr, newSize: LONGINT);
- BEGIN
- (*TD SYS.PUTREG(8, adr); SYS.PUTREG(0, newSize);
- SetPtrSize; TPNE20
- END AdjustBlock; *)
- PROCEDURE DeAllocBlock*(adr: LONGINT);
- BEGIN
- DisposePtr (adr);
- END DeAllocBlock;
- PROCEDURE Assign* (sym: ARRAY OF CHAR; adr: LONGINT);
- VAR from, to: ProcPtr; a: LONGINT;
- BEGIN
- a := Modules.ThisSym(interfaceLib, sym);
- IF a # 0 THEN
- from := SYSTEM.VAL(ProcPtr, a);
- to := SYSTEM.VAL(ProcPtr, adr);
- to.proc := from.proc
- ELSE done := n;
- Modules.Print("--- Sys could not find ", 0); Modules.Print(sym, 0); Modules.Print(" $", 0)
- END;
- INC(n)
- END Assign;
- PROCEDURE ConvertTime* (secs: LONGINT; VAR t, d: LONGINT);
- VAR td: DateTimeRec;
- BEGIN
- SecondsToDate(secs, td);
- d:=LONG(td.year MOD 100)*512+td.month*32+td.day; t:=LONG(td.hour)*4096+td.minute*64+td.second
- END ConvertTime;
- PROCEDURE SetClock* (t, d: LONGINT);
- VAR td: DateTimeRec; secs: LONGINT;
- BEGIN
- td.year:=SHORT(d DIV 512 MOD 100)+1900; td.month:=SHORT(d DIV 32 MOD 16); td.day:=SHORT(d MOD 32);
- td.hour:=SHORT(t DIV 2048 MOD 32); td.minute:=SHORT(t DIV 32 MOD 64); td.second:=SHORT (t MOD 32*2);
- DateToSeconds (td, secs); SetDateTime (secs);
- END SetClock;
- PROCEDURE UPP* (procAdr, procInfo: LONGINT): UniversalProcPtr;
- BEGIN
- RETURN NewRoutineDesc(procAdr, procInfo, kPowerPCISA)
- END UPP;
- PROCEDURE InstallExceptionHandler* (new: ExceptionHandler): ExceptionHandler;
- VAR pp, pp1: ProcPtr;
- BEGIN
- pp := SYSTEM.VAL(ProcPtr, NewPtr(8));
- pp1 := SYSTEM.VAL(ProcPtr, SYSTEM.ADR(new));
- pp.proc := pp1.proc;
- pp1 := InstallExcHandler(pp);
- IF pp1 = NIL THEN RETURN NIL ELSE RETURN SYSTEM.VAL(ExceptionHandler, pp1.proc) END
- END InstallExceptionHandler;
- BEGIN
- done := 0; n := 0;
- interfaceLib := Modules.ThisLib("InterfaceLib", TRUE);
- Assign("PrGeneral", SYSTEM.ADR(PrGeneral));
- Assign("PrError", SYSTEM.ADR(PrError));
- Assign("PrOpen", SYSTEM.ADR(PrOpen));
- Assign("PrValidate", SYSTEM.ADR(PrValidate));
- Assign("PrintDefault", SYSTEM.ADR(PrintDefault));
- Assign("PrStlDialog", SYSTEM.ADR(PrStlDialog));
- Assign("PrJobDialog", SYSTEM.ADR(PrJobDialog));
- Assign("PrOpenDoc", SYSTEM.ADR(PrOpenDoc));
- Assign("PrCloseDoc", SYSTEM.ADR(PrCloseDoc));
- Assign("PrClose", SYSTEM.ADR(PrClose));
- Assign("PrOpenPage", SYSTEM.ADR(PrOpenPage));
- Assign("PrClosePage", SYSTEM.ADR(PrClosePage));
- Assign("PrPicFile", SYSTEM.ADR(PrPicFile));
- Assign("SysBeep", SYSTEM.ADR(SysBeep));
- Assign("PBHGetFInfoSync", SYSTEM.ADR(PBHGetFInfo));
- Assign("FSpOpenDF", SYSTEM.ADR(FSpOpenDF));
- Assign("FSpOpenRF", SYSTEM.ADR(FSpOpenRF));
- Assign("FSMakeFSSpec", SYSTEM.ADR(FSMakeFSSpec));
- Assign("FSClose", SYSTEM.ADR(FSClose));
- Assign("FSRead", SYSTEM.ADR(FSRead));
- Assign("FSWrite", SYSTEM.ADR(FSWrite));
- Assign("FSpCreate", SYSTEM.ADR(FSpCreate));
- Assign("FSpDirCreate", SYSTEM.ADR(FSpDirCreate));
- Assign("FSpDelete", SYSTEM.ADR(FSpDelete));
- Assign("FSpRename", SYSTEM.ADR(FSpRename));
- Assign("FSpCatMove", SYSTEM.ADR(FSpCatMove));
- Assign("FSpGetFInfo", SYSTEM.ADR(FSpGetFInfo));
- Assign("FSpSetFInfo", SYSTEM.ADR(FSpSetFInfo));
- Assign("GetEOF", SYSTEM.ADR(GetEOF));
- Assign("SetEOF", SYSTEM.ADR(SetEOF));
- Assign("GetFPos", SYSTEM.ADR(GetFPos));
- Assign("SetFPos", SYSTEM.ADR(SetFPos));
- Assign("Allocate", SYSTEM.ADR(Allocate));
- Assign("HGetVol", SYSTEM.ADR(HGetVol));
- Assign("HSetVol", SYSTEM.ADR(HSetVol));
- Assign("FlushVol", SYSTEM.ADR(FlushVol));
- Assign("UnmountVol", SYSTEM.ADR(UnmountVol));
- Assign("Eject", SYSTEM.ADR(Eject));
- Assign("PBGetCatInfoSync", SYSTEM.ADR(PBGetCatInfo));
- Assign("SecondsToDate", SYSTEM.ADR(SecondsToDate));
- Assign("GetDateTime", SYSTEM.ADR(GetDateTime));
- Assign("SetDateTime", SYSTEM.ADR(SetDateTime));
- Assign("DateToSeconds", SYSTEM.ADR(DateToSeconds));
- Assign ("FlushEvents", SYSTEM.ADR (FlushEvents));
- Assign ("WaitNextEvent", SYSTEM.ADR (WaitNextEvent));
- Assign ("GetNextEvent", SYSTEM.ADR (GetNextEvent));
- Assign ("SystemClick", SYSTEM.ADR (SystemClick));
- Assign ("Button", SYSTEM.ADR (Button));
- Assign ("GetMouse", SYSTEM.ADR (GetMouse));
- Assign ("TickCount", SYSTEM.ADR (TickCount));
- Assign ("SetPort", SYSTEM.ADR (SetPort));
- Assign ("BeginUpdate", SYSTEM.ADR (BeginUpdate));
- Assign ("BeginUpdate", SYSTEM.ADR (BeginUpdate1));
- Assign ("EndUpdate", SYSTEM.ADR (EndUpdate));
- Assign ("EndUpdate", SYSTEM.ADR (EndUpdate1));
- Assign ("SelectWindow", SYSTEM.ADR (SelectWindow));
- Assign ("SelectWindow", SYSTEM.ADR (SelectWindow1));
- Assign ("ShowWindow", SYSTEM.ADR (ShowWindow));
- Assign ("HideWindow", SYSTEM.ADR (HideWindow));
- Assign ("SetCursor", SYSTEM.ADR (SetCurs));
- Assign ("HideCursor", SYSTEM.ADR (HideCursor));
- Assign ("ShowCursor", SYSTEM.ADR (ShowCursor));
- Assign ("NewCWindow", SYSTEM.ADR (NewCWindow));
- Assign ("InitWindows", SYSTEM.ADR (InitWindows));
- Assign ("InitDialogs", SYSTEM.ADR (InitDialogs));
- Assign ("Alert", SYSTEM.ADR (Alert));
- Assign ("GetNamedResource", SYSTEM.ADR (GetNamedResource));
- Assign ("OpenResFile", SYSTEM.ADR (OpenResFile));
- Assign ("ResError", SYSTEM.ADR (ResError));
- Assign ("OpenDeskAcc", SYSTEM.ADR (OpenDeskAcc));
- Assign ("FrontWindow", SYSTEM.ADR (FrontWindow));
- Assign ("FindWindow", SYSTEM.ADR (FindWindow));
- Assign ("CloseWindow", SYSTEM.ADR (CloseWindow));
- Assign ("DragWindow", SYSTEM.ADR (DragWindow));
- Assign ("SetWTitle", SYSTEM.ADR (SetWTitle));
- Assign ("SetMenuBar", SYSTEM.ADR (SetMenuBar));
- Assign ("DrawMenuBar", SYSTEM.ADR (DrawMenuBar));
- Assign ("AppendResMenu", SYSTEM.ADR (AddResMenu));
- Assign ("ClearMenuBar", SYSTEM.ADR (ClearMenuBar));
- Assign ("GetNewMBar", SYSTEM.ADR (GetNewMBar));
- Assign ("GetMenu", SYSTEM.ADR (GetMenu));
- Assign ("InitMenus", SYSTEM.ADR (InitMenus));
- Assign ("GetMBarHeight", SYSTEM.ADR (GetMBarHeight));
- Assign ("GetMenuHandle", SYSTEM.ADR (GetMHandle));
- Assign ("GetMenuItemText", SYSTEM.ADR (GetItem));
- Assign ("HiliteMenu", SYSTEM.ADR (HiliteMenu));
- Assign ("MenuSelect", SYSTEM.ADR (MenuSelect));
- Assign ("MenuKey", SYSTEM.ADR (MenuKey));
- Assign ("InitFonts", SYSTEM.ADR (InitFonts));
- Assign ("TEInit", SYSTEM.ADR (TEInit));
- Assign ("SetFScaleDisable", SYSTEM.ADR (SetFScaleDisable));
- Assign ("GetFontName", SYSTEM.ADR (GetFontNam));
- Assign ("GetFNum", SYSTEM.ADR (GetFNum));
- Assign ("TEStyleNew", SYSTEM.ADR (TEStylNew));
- Assign ("TEStylePaste", SYSTEM.ADR (TEStylPaste));
- Assign ("TEGetStyleHandle", SYSTEM.ADR (TEGetStylHandle));
- Assign ("TEGetStyle", SYSTEM.ADR (TEGetStyle));
- Assign ("TESetSelect", SYSTEM.ADR (TESetSelect));
- Assign ("TEInsert", SYSTEM.ADR (TEInsert));
- Assign ("TEDelete", SYSTEM.ADR (TEDelete));
- Assign ("TESetStyle", SYSTEM.ADR (TESetStyle));
- Assign ("TECut", SYSTEM.ADR (TECut));
- Assign ("GetFontInfo", SYSTEM.ADR (GetFontInf));
- Assign ("SetClip", SYSTEM.ADR (SetClip));
- Assign ("DrawChar", SYSTEM.ADR (DrawChar));
- Assign ("DrawText", SYSTEM.ADR (DrawText));
- Assign ("TextFont", SYSTEM.ADR (TextFont));
- Assign ("TextFace", SYSTEM.ADR (TextFace));
- Assign ("TextMode", SYSTEM.ADR (TextMode));
- Assign ("TextSize", SYSTEM.ADR (TextSize));
- Assign ("LineTo", SYSTEM.ADR (LineTo));
- Assign ("Line", SYSTEM.ADR (Lin));
- Assign ("MoveTo", SYSTEM.ADR (MoveTo));
- Assign ("PenMode", SYSTEM.ADR (PenMode));
- Assign ("PenPat", SYSTEM.ADR (PenPat));
- Assign ("PaintRect", SYSTEM.ADR (PaintRect));
- Assign ("FrameOval", SYSTEM.ADR (FrameOval));
- Assign ("CopyBits", SYSTEM.ADR (CopyBits));
- Assign ("CopyBits", SYSTEM.ADR (CopyBits2));
- Assign ("ForeColor", SYSTEM.ADR (ForeColor));
- Assign ("PmForeColor", SYSTEM.ADR (PmForeColor));
- Assign ("NewRgn", SYSTEM.ADR (NewRgn));
- Assign ("InitGraf", SYSTEM.ADR (InitGraf));
- Assign ("InitCursor", SYSTEM.ADR (InitCursor));
- Assign ("CharWidth", SYSTEM.ADR (CharWidth));
- Assign ("SetRectRgn", SYSTEM.ADR (SetRectRgn));
- Assign ("AnimateEntry", SYSTEM.ADR (AnimateEntry));
- Assign ("OpenPort", SYSTEM.ADR (OpenPort));
- Assign ("RectRgn", SYSTEM.ADR (RectRgn));
- Assign ("TextMode", SYSTEM.ADR (TextMode));
- Assign ("PenMode", SYSTEM.ADR (PenMode));
- Assign ("OpenCPort", SYSTEM.ADR (OpenCPort));
- Assign ("CloseCPort", SYSTEM.ADR (CloseCPort));
- Assign ("GetPalette", SYSTEM.ADR (GetPalette));
- Assign ("SetPalette", SYSTEM.ADR (SetPalette));
- Assign ("ActivatePalette", SYSTEM.ADR (ActivatePalette));
- Assign ("GetNewPalette", SYSTEM.ADR (GetNewPalette));
- Assign ("SetEntryColor", SYSTEM.ADR (SetEntryColor));
- Assign("DisposePtr", SYSTEM.ADR (DisposePtr));
- Assign("NewPtr", SYSTEM.ADR (NewPtr));
- Assign("NewPtrClear", SYSTEM.ADR (NewPtrClear));
- Assign("SetPtrSize", SYSTEM.ADR (SetPtrSize));
- Assign ("HLock", SYSTEM.ADR (HLock));
- Assign ("HUnlock",SYSTEM.ADR (HUnlock));
- Assign ("MemError",SYSTEM.ADR (MemError));
- Assign ("FreeMem",SYSTEM.ADR (FreeMem));
- Assign ("MaxMem",SYSTEM.ADR (MaxMem));
- Assign ("GetApplLimit",SYSTEM.ADR (GetApplLimit));
- Assign ("SetApplLimit",SYSTEM.ADR (SetApplLimit));
- Assign ("MaxApplZone",SYSTEM.ADR (MaxApplZone));
- Assign ("StackSpace",SYSTEM.ADR (StackSpace));
- Assign ("TopMem",SYSTEM.ADR (TopMem));
- Assign ("NewHandle", SYSTEM.ADR (NewHandle));
- Assign("GetKeys", SYSTEM.ADR (GetKeys));
- Assign("DisposeRoutineDescriptor", SYSTEM.ADR (DisposeRoutineDesc));
- Assign("NewRoutineDescriptor", SYSTEM.ADR (NewRoutineDesc));
- Assign("VInstall", SYSTEM.ADR (VInstall));
- Assign("InstallExceptionHandler", SYSTEM.ADR (InstallExcHandler));
- Assign("ExitToShell", SYSTEM.ADR (ExitToShell));
- END Sys.
-